package com.yingma.system.service;

import com.yingma.system.entity.JcZone;
import com.yingma.system.pojo.TreeSelect;

import java.util.List;

/**
 * (JcZone)表服务接口
 *
 * @author makejava
 * @since 2020-03-18 17:26:52
 */
public interface JcZoneService {

    /**
     * 根据行政区域的ID查询行政区域的信息
     *
     * @param id 主键
     * @return 实例对象
     */
    JcZone queryById(String id);



    /**
     * 新增数据
     *
     * @param jcZone 实例对象
     * @return 实例对象
     */
    JcZone insert(JcZone jcZone);


    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(String id);

    /**
     * 根据 编码或者名称 进行分页查询省级区域信息
     * @param code
     * @param name
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<JcZone> getProviceInfo(String code,String name,Integer pageNum,Integer pageSize);


    /**
     * 查询所有的行政区域信息
     * @param jcZone
     * @return
     */
    List<JcZone> selectZoneList(JcZone jcZone);

    /**
     * 根据区域id查询信息
     * @param zoneid
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<JcZone> selectZoneById(String zoneid,Integer pageNum,Integer pageSize);




    /**
     * 构建前端所需要树结构
     *
     * @param jcZones 部门列表
     * @return 树结构列表
     */
    public List<JcZone> buildDeptTree(List<JcZone> jcZones);


    /**
     * 构建前端所需要下拉树结构
     * @param jcZones 部门列表
     * @return 树结构列表
     */
    public List<TreeSelect> buildZoneTreeSelect(List<JcZone> jcZones);



}
